<?php


namespace App\Http\Model;


use Illuminate\Support\Facades\DB;

class SmsAll extends Base
{
    protected $table = 'sms_alls';

    public function __construct(array $attributes = [])
    {
        parent::__construct($this->table, $attributes);
    }

    /**
     * 新增群发短信
     * @param $phone 手机号
     * @param $sendtime 定时发送时间
     * @param $content 发送文案
     * @param $note 备注
     * @param $phonexcle 手机Excel文件内容
     */
    public function adSmsList($phone, $sendtime, $content, $note, $phonexcle)
    {
        if (!empty($phonexcle)) {
            if (!empty($phone))
            {
                $insertdata['phone'] = $phonexcle . ','.$phone;
                //统计发送条数
                $phonelistArr = explode(',', $phonexcle . ','.$phone);
            }else{
                $insertdata['phone'] = $phonexcle ;
                //统计发送条数
                $phonelistArr = explode(',', $phonexcle);
            }
        } else {
            $insertdata['phone'] = $phone;
            $phonelistArr = explode(',', $phone);
        }
        $insertdata['sendtime'] = $sendtime; //预约发送时间
        $insertdata['content'] = $content; //文案
        $insertdata['note'] = $note; //备注
        $insertdata['create_time'] = time(); //创建时间

        $insertdata['send_nums'] = count($phonelistArr); //发送条数
        $insertdata['send_status'] = 0; //默认0 1已发送0待发送 3删除
        $insertdata['is_status'] = 0; //删除状态默认0 状态 0正常 1删除
        $status = DB::table($this->table)->insertGetId($insertdata);
        if ($status) {
            return $status;
        } else {
            return false;
        }
    }

    /**
     * 更改群发短信内容
     * @param $phone 手机号
     * @param $sendtime 发送时间
     * @param $content 发送文案
     * @param $note 备注
     * @param $phonexcle 手机Excel
     * @param $changeid 更改短信id
     */
    public function changeSmsList($phone, $sendtime, $content, $note, $phonexcle,$changeid)
    {
        if (!empty($phonexcle)) {
            if (!empty($phone))
            {
                $updatedata['phone'] = $phonexcle . ','.$phone;
                //统计发送条数
                $phonelistArr = explode(',', $phonexcle . ','.$phone);
            }else{
                $updatedata['phone'] = $phonexcle ;
                //统计发送条数
                $phonelistArr = explode(',', $phonexcle);
            }
        } else {
            $updatedata['phone'] = $phone;
            $phonelistArr = explode(',', $phone);
        }
        if (!is_numeric($sendtime))
        {
            $sendtime =  strtotime($sendtime);
        }
        $updatedata['sendtime'] = $sendtime; //预约发送时间
        $updatedata['content'] = $content; //发送文案
        $updatedata['note'] = $note; //备注

        $updatedata['send_nums'] = count($phonelistArr); //统计条数
        $updatedata['send_status'] = 0; //发送状态 1已发送0待发送 3删除
        $updatedata['is_status'] = 0; //状态 0正常 1删除
        $updatedata['update_time'] = time();
        $status = DB::table($this->table)->where('id',$changeid)->update($updatedata);
        if ($status) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 撤回状态
     * @param $changeid 更改短信id
     */
    public function changeSmsStatus($changeid)
    {
        $updatedata['send_status'] = 3;//撤回状态表示删除
        $updatedata['is_status'] = 1;//撤回状态表示删除
        $updatedata['update_time'] = time();//更新时间
        $status = DB::table($this->table)->where('id',$changeid)->update($updatedata);
        if ($status) {
            return true;
        } else {
            return false;
        }
    }
}